package com.cloudkinto.dto.platform.order;

import com.baomidou.mybatisplus.annotation.*;
import com.cloudkinto.entity.PlatformOrderProductDo;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

@Data
public class PlatformOrderDto {

    public BigDecimal getPoint() {
        if (point == null) {
            return BigDecimal.ZERO;
        }
        return point;
    }

    public BigDecimal getCoupon() {
        if (coupon == null) {
            return BigDecimal.ZERO;
        }
        return coupon;
    }

    public BigDecimal getPostagePrice() {
        if (postagePrice == null) {
            return BigDecimal.ZERO;
        }
        return postagePrice;
    }

    public BigDecimal getTaxRate() {
        if (taxRate == null) {
            return BigDecimal.ZERO;
        }
        return taxRate;
    }

    public BigDecimal getReqPriceTax() {
        if (reqPriceTax == null) {
            return BigDecimal.ZERO;
        }
        return reqPriceTax;
    }

    public BigDecimal getReqPrice() {
        if (reqPrice == null) {
            return BigDecimal.ZERO;
        }
        return reqPrice;
    }

    public BigDecimal getTotalAmount() {
        if (totalAmount == null) {
            return BigDecimal.ZERO;
        }
        return totalAmount;
    }

    private static final long serialVersionUID=1L;

    private Long id;

    /**
     * 乐天标发 和 shopify  makeshop标发用的到
     */
    private String basketId;

    /**
     * 状态 0待处理
     1带获取平台面单
     2处理中
     3已发货
     4已取消 5
     */
    private Integer status;

    /**
     * 待获取平台面单 子状态
     0无
     10获取异常
     11获取中
     12 生成出库单失败
     */
    private Integer subStatus;

    /**
     * 订单号
     */
    private String orderNo;

    /**
     * 平台单号
     */
    private String platformOrderNo;

    /**
     * 平台 amazon shopify
     */
    private String platformCode;

    /**
     * 店铺id
     */
    private Long storeId;

    /**
     * 站点 US 等等
     */
    private String site;

    /**
     * 亚马逊才有 AFN MFN
     */
    private String fulfillmentChannel;

    /**
     * 买家姓名
     */
    private String buyerName;

    /**
     * 买家邮箱
     */
    private String buyerEmail;


    private String buyerPostcode;

    private String buyerTelephone;

    private String buyerAddress;

    /**
     * 订单备注
     */
    private String remark;

    /**
     * 发货仓库
     */
    private Long sendWhId;

    /**
     * 物流渠道
     */
    private Long channelId;

    /**
     * 承运商 如 ups等
     */
    private String logisticsCarrier;

    /**
     * 跟踪号
     */
    private String trackNo;

    /**
     * 收件人
     */
    private String receiver;

    /**
     * 电话
     */
    private String telephone;

    /**
     * 国家地区 如 US(United States of America)，
     */
    private String countryRegionCode;

    /**
     * 省/州 缩写
     */
    private String provinceCode;

    /**
     * 省/州 全称
     */
    private String provinceName;

    /**
     * 城市名称
     */
    private String cityCode;

    /**
     * 区/县
     */
    private String district;

    /**
     * 邮编
     */
    private String postcode;

    /**
     * 门牌号
     */
    private String houseNum;

    private String addressOne;

    private String addressTwo;

    private String addressTri;

    /**
     * 标发状态 0无 1标发中 2标发失败 3标发成功 4不标发 5待标发
     */
    private Integer markShipmentStatus;

    /**
     * 标发时间
     */
    private Date markShipmentTime;

    /**
     * 标发失败原因
     */
    private String markShipmentFailReason;

    /**
     * 审核失败原因
     */
    private String auditCause;

    /**
     * 异常原因
     */
    private String exceptionCause;

    /**
     * 审核时间
     */
    private Date auditTime;

    private Long auditBy;



    /**
     * 乐天 乐天 支付方式
     */
    private String settlementModel;


    /**
     * 乐天积分
     */
    private BigDecimal point;


    /**
     * 乐天优惠卷
     */
    private BigDecimal coupon;

    /**
     * 乐天  注文種別
     * 1: 通常購入
     * 4: 定期購入
     * 5: 頒布会
     * 6: 予約商品
     */
    private Integer orderType;

    /**
     * 乐天是否离岛
     */
    private Integer isolated;

    /**
     * 乐天运费
     */
    private BigDecimal postagePrice;


    /**
     * 乐天税率
     */
    private BigDecimal taxRate;

    /**
     * 乐天税额
     */
    private BigDecimal reqPriceTax;

    /**
     * 乐天请求金额
     */
    private BigDecimal reqPrice;

    /**
     * 总金额
     */
    private BigDecimal totalAmount;

    /**
     * 币种
     */
    private String currencyCode;

    /**
     * 購入時配送会社
     */
    private String defaultDeliveryCompanyCode;

    /**
     * 创建时间
     */
    private Date createTime;

    private Long createBy;

    /**
     * 下单时间
     */
    private Date orderTime;

    /**
     * 付款时间
     */
    private Date payTime;

    /**
     * 发货时间
     */
    private Date shipTime;

    /**
     * 发货人
     */
    private Long shipBy;

    /**
     * 取消时间
     */
    private Date cancelTime;

    /**
     * 取消人
     */
    private Long cancelBy;

    /**
     * 取消方式 0平台同步取消 1手动取消
     */
    private Integer cancelWay;

    /**
     * 分配时间
     */
    private Date distributeTime;

    /**
     * 分配人
     */
    private Long distributeBy;

    private Date updateTime;

    private Long updateBy;

    private String platformSku;

    private String sku;

    /**
     * 上次更新时间 只有亚马逊有
     */
    private Date lastUpdateDate;

    /**
     * 履约方式 0仓库面单 1平台面单
     */
    private Integer deliveryOptionType;

    /**
     * 预约开始时间
     */
    private Date reserveBeginTime;

    /**
     * 预约结束时间
     */
    private Date reserveEndTime;

    /**
     * 0日常 1预约单 2次日达
     */
    private Integer reserveFlag;

    /**
     * 公司id
     */
    private Long companyId;

    /**
     * 后台租户id
     */
    private Long tenantId;

    private Integer deleteFlag;

    /**
     * api mail
     */
    private String source;

    private String deliveryDate;

    private String deliveryTimeName;


    List<PlatformOrderProductDo> productDoList;

}
